const util = require('../../utils/util.js');
const request = require('../../utils/request.js');
Page({
  data: {
    inAmount: null,
    outAmount: null,
    totalAmount: null,
    currentDate: util.getYearMonth(new Date()), // 用户输入的查询条件  
    results: [], // 查询结果  
    isLoading: false, // 是否正在加载新数据  
    page: 1, // 当前页数  
    pageSize: 10 // 每页显示的数据量  
  },
  bindDateChange: function (e) {
    this.setData({
      currentDate:e.detail.value,
      results: [], // 清空当前结果列表  
      page: 1, // 重置页数  
      isLoading: false // 可以设置为true，如果查询需要一些时间  
    });
    this.loadMoreData();
    this.loadStatisticsData();
  },
  onLoadMore: function () {
    if (this.data.isLoading) {
      return; // 如果正在加载，则不执行任何操作  
    }
    this.setData({
      isLoading: true // 开始加载数据时设置为true  
    });
    this.loadMoreData(); // 加载更多数据  
  },

  loadMoreData: function () {
    request({
      url: '/api/data',
      method: 'post',
      data: {
        "model_code": "acc_io_list",
        "conds": [{
          "col": "year_month",
          "val": this.data.currentDate + '-01'
        }],
        "page": {
          "page": this.data.page,
          "limit": this.data.pageSize
        },
        orders: [{
          col: "datetime",
          opt: "desc"
        }]
      }
    }).then(res => {
      if(res.data.length>0){
        this.setData({
          results: this.data.results.concat(res.data),
          page: this.data.page + 1, // 增加页数  
          isLoading: false // 加载完成，设置为false  
        });
      }else{
        this.setData({
          isLoading: false // 加载完成，设置为false  
        });
      }
    });
  },

  loadStatisticsData:function(){
    request({
      url: '/api/data',
      method: 'post',
      data: {
        "model_code": "acc_io_statistics",
        "conds": [{
          "col": "year_month",
          "val": this.data.currentDate + '-01'
        }]
      }
    }).then(res => {
      this.setData({
        inAmount: res.data[0].in == null?0:res.data[0].in,
        outAmount: res.data[0].out== null?0:res.data[0].out,
        totalAmount: res.data[0].total== null?0:res.data[0].total,
      });
    });
  },

  onLoad() {
    this.loadMoreData();
    this.loadStatisticsData();
  },
});